//
//  ZFBMomentController.m
//  生活圈
//
//  Created by heima on 16/6/24.
//  Copyright © 2016年 itcast. All rights reserved.
//

#import "ZFBMoment.h"
#import "ZFBMomentCell.h"
#import "ZFBMomentController.h"
#import "ZFBMomentHeaderView.h"

static NSString *cellid = @"moment_cell";

@interface ZFBMomentController ()

@property (nonatomic, strong) NSArray *momentData;

@end

@implementation ZFBMomentController

- (void)viewDidLoad {
    [super viewDidLoad];

    self.navigationItem.title = @"生活圈";

    // 接收数据
    self.momentData = [self loadMomentData];

    [self setupUI];

    // 注册单元格
    [self.tableView registerClass:[ZFBMomentCell class] forCellReuseIdentifier:cellid];
}

// 初始化ui
- (void)setupUI {
    // 设置tableViewCell的行高
    // 1.设置整个tableView的cell的高度为自动计算
    self.tableView.rowHeight = UITableViewAutomaticDimension;
    // 2.预估行高
    self.tableView.estimatedRowHeight = 300;

    // 设置headerView 在view内部进行创建
    self.tableView.tableHeaderView = [ZFBMomentHeaderView momentHeadrView];

    // 设置分割线的内编剧(iOS8以后有问题)
    //    [self.tableView setSeparatorInset:UIEdgeInsetsMake(0, 0, 0, 0)];

    // 取消系统分割线
    [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

    // 设置系统分割线的样式
    //    [self.tableView setSeparatorColor:[UIColor blueColor]];
}

// 有多少行
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    // 根据数据来
    return self.momentData.count;
}

// cell长啥样儿
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    // 可能在缓存池找不到,系统回去创建一个注册的单元格的类型和名字(cellid)
    ZFBMomentCell *cell = [tableView dequeueReusableCellWithIdentifier:cellid forIndexPath:indexPath];

    // 获取数据
    ZFBMoment *moment = self.momentData[indexPath.row];

    // 设置数据
    cell.moment = moment;

    return cell;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}

// 加载数据
- (NSArray *)loadMomentData {
    //    - 获取文件url
    NSURL *url = [[NSBundle mainBundle] URLForResource:@"moment.plist" withExtension:nil];
    //    - 解析成临时数组(此时数组中为字典)
    NSArray *tempArray = [NSArray arrayWithContentsOfURL:url];
    //    - 初始化可变数组
    NSMutableArray *array = [NSMutableArray array];
    //    - 遍历临时数组获取字典
    for (NSDictionary *dict in tempArray) {
        //    - 字典转模型
        ZFBMoment *m = [ZFBMoment momentWithDict:dict];
        //    - 把模型添加到可变数组当中
        [array addObject:m];
    }

    //    - 返回
    return array.copy;
}

@end
